package com.xnyzc.lhy.finance.mapper.cashwithdrawal;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xnyzc.lhy.finance.entity.cashwithdrawal.OaDCashWithdrawal;
import com.xnyzc.lhy.finance.params.dto.cashwithdrawal.OaCashWithdrawalRecordDTO;
import com.xnyzc.lhy.finance.params.vo.cashdrawal.OaCashWithdrawalDetialVO;
import com.xnyzc.lhy.finance.params.vo.cashdrawal.OaCashWithdrawalInfoVO;
import com.xnyzc.lhy.finance.params.vo.cashdrawal.OaCashWithdrawalVO;
import org.apache.ibatis.annotations.Param;

import java.util.*;

/**
 * <p>
 * 司机提现表 Mapper 接口
 * </p>
 *
 * @author cuixiaojian
 * @since 2019-10-18
 */
public interface OaDCashWithdrawalMapper extends BaseMapper<OaDCashWithdrawal> {

    /**
     * 查询提现记录
     * @param oaCashWithdrawalRecordDTO 司机ID
     * @return List<OaCashWithdrawalVO>
     */
    List<OaCashWithdrawalVO> queryDriverCashWithdrawalRecord(OaCashWithdrawalRecordDTO oaCashWithdrawalRecordDTO);

    /**
     * 检索提现详情
     * @param cashId 提现ID
     * @return OaCashWithdrawalInfoVO
     */
    OaCashWithdrawalInfoVO queryDriverCashWithdrawalInfo(@Param("cashId") Long cashId);

    /**
     * 检索提现持卡人、银行卡、提现金额等信息
     * @param driverId 司机ID
     * @return OaCashWithdrawalDetialVO
     */
    OaCashWithdrawalDetialVO queryCashWithdrawalDetial(@Param("driverId") Long driverId);

    /**
     * 查询用户所在省市
     * @param driverId 司机ID
     * @return Map
     */
    Map<String, String> queryDriverCity(@Param("driverId") Long driverId);

}
